home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMICUS26.ADF / SoundScape / LatticeLib / sslink.asm < prev    next >
Assembly Source File  |  1989-01-26  |  6KB  |  345 lines

  1. *    SSLINK.ASM    SoundScape library link routines. 
  2.  
  3. *    (c) 1986 Todor Fay 
  4.  
  5.  
  6.     XREF    _SoundScapeBase 
  7.  
  8.     XDEF    _AllocNode 
  9.     XDEF    _FastAlloc 
  10.     XDEF    _FreeNode 
  11.     XDEF    _FreeList 
  12.     XDEF    _FreeTree 
  13.     XDEF    _ReleaseMem 
  14.     XDEF    _WriteList 
  15.     XDEF    _ReadList 
  16.     XDEF    _AddMidiPort 
  17.     XDEF    _OpenMidiPort 
  18.     XDEF    _CloseMidiPort 
  19.     XDEF    _EditMidiPort 
  20.     XDEF    _OutMidiPort 
  21.     XDEF    _Send 
  22.     XDEF    _OpenLink 
  23.     XDEF    _CloseLink 
  24.     XDEF    _GetHelp 
  25.     XDEF    _RemoveMidiPort 
  26.     XDEF    _FunctionCall 
  27.     XDEF    _ReadFileName 
  28.     XDEF    _WriteFileName 
  29.     XDEF    _FindMidiPort 
  30.     XDEF    _MidiPortName 
  31.     XDEF    _MidiPortBase 
  32.  
  33. _LVOmusalloc    EQU    -36 
  34. _LVOmusfastalloc EQU    -42 
  35. _LVOmusfree    EQU    -48 
  36. _LVOmusfreelist    EQU    -54 
  37. _LVOmusfreetree    EQU    -60 
  38. _LVOreleasemem    EQU    -66 
  39. _LVOwritelist    EQU    -72 
  40. _LVOreadlist    EQU    -78 
  41. _LVOaddport    EQU    -84 
  42. _LVOopenport    EQU    -90 
  43. _LVOcloseport    EQU    -96 
  44. _LVOeditport    EQU    -102 
  45. _LVOoutport    EQU    -108 
  46. _LVOsendpackets    EQU    -114 
  47. _LVOopenlink    EQU    -120 
  48. _LVOcloselink    EQU    -126 
  49. _LVOgethelp    EQU    -132 
  50. _LVOremoveport    EQU    -138 
  51. _LVOfunctcall    EQU    -144 
  52. _LVOreadname    EQU    -150 
  53. _LVOwritename    EQU    -156 
  54. _LVOfindport    EQU    -162 
  55. _LVOportname    EQU    -168 
  56. _LVOportbase    EQU    -174 
  57.  
  58. _MidiPortBase 
  59.     LINK    A6,#0000 
  60.     MOVE.L    8(A6),D0 
  61.     MOVE.L    A6,-(SP) 
  62.     MOVE.L    _SoundScapeBase,A6 
  63.     JSR    _LVOportbase(A6) 
  64.     MOVE.L    (SP)+,A6 
  65.     UNLK    A6 
  66.     RTS 
  67.  
  68. _AllocNode 
  69.     LINK    A6,#0000 
  70.     MOVE.L    8(A6),D0 
  71.     MOVE.L    A6,-(SP) 
  72.     MOVE.L    _SoundScapeBase,A6 
  73.     JSR    _LVOmusalloc(A6) 
  74.     MOVE.L    (SP)+,A6 
  75.     UNLK    A6 
  76.     RTS 
  77.  
  78. _FastAlloc 
  79.     LINK    A6,#0000 
  80.     MOVE.L    8(A6),D0 
  81.     MOVE.L    A6,-(SP) 
  82.     MOVE.L    _SoundScapeBase,A6 
  83.     JSR    _LVOmusfastalloc(A6) 
  84.     MOVE.L    (SP)+,A6 
  85.     UNLK    A6 
  86.     RTS 
  87.  
  88. _FreeNode 
  89.     LINK    A6,#0000 
  90.     MOVE.L    8(A6),D0 
  91.     MOVE.L    A6,-(SP) 
  92.     MOVE.L    _SoundScapeBase,A6 
  93.     JSR    _LVOmusfree(A6) 
  94.     MOVE.L    (SP)+,A6 
  95.     UNLK    A6 
  96.     RTS 
  97.  
  98. _FreeList 
  99.     LINK    A6,#0000 
  100.     MOVE.L    8(A6),D0 
  101.     MOVE.L    A6,-(SP) 
  102.     MOVE.L    _SoundScapeBase,A6 
  103.     JSR    _LVOmusfreelist(A6) 
  104.     MOVE.L    (SP)+,A6 
  105.     UNLK    A6 
  106.     RTS 
  107.  
  108. _FreeTree 
  109.     LINK    A6,#0000 
  110.     MOVE.L    8(A6),D0 
  111.     MOVE.L    A6,-(SP) 
  112.     MOVE.L    _SoundScapeBase,A6 
  113.     JSR    _LVOmusfreetree(A6) 
  114.     MOVE.L    (SP)+,A6 
  115.     UNLK    A6 
  116.     RTS 
  117.  
  118. _ReleaseMem 
  119.     LINK    A6,#0000 
  120.     MOVE.L    8(A6),D0 
  121.     MOVE.L    A6,-(SP) 
  122.     MOVE.L    _SoundScapeBase,A6 
  123.     JSR    _LVOreleasemem(A6) 
  124.     MOVE.L    (SP)+,A6 
  125.     UNLK    A6 
  126.     RTS 
  127. _WriteList 
  128.     LINK    A6,#0000 
  129.     MOVE.L    8(A6),D0 
  130.     MOVE.L    A6,-(SP) 
  131.     MOVE.L    D1,-(SP) 
  132.     MOVE.L    12(A6),D1 
  133.     MOVE.L    _SoundScapeBase,A6 
  134.     JSR    _LVOwritelist(A6) 
  135.     MOVE.L    (SP)+,D1 
  136.     MOVE.L    (SP)+,A6 
  137.     UNLK    A6 
  138.     RTS 
  139.  
  140. _ReadList 
  141.     LINK    A6,#0000 
  142.     MOVE.L    8(A6),D0 
  143.     MOVE.L    A6,-(SP) 
  144.     MOVE.L    D1,-(SP) 
  145.     MOVE.L    12(A6),D1 
  146.     MOVE.L    _SoundScapeBase,A6 
  147.     JSR    _LVOreadlist(A6) 
  148.     MOVE.L    (SP)+,D1 
  149.     MOVE.L    (SP)+,A6 
  150.     UNLK    A6 
  151.     RTS 
  152.  
  153. _AddMidiPort 
  154.     LINK    A6,#0000 
  155.     MOVEM.L    D1-D7/A6,-(SP) 
  156.     MOVE.L    8(A6),D7 
  157.     MOVE.L    12(A6),D6 
  158.     MOVE.L    16(A6),D5 
  159.     MOVE.L    20(A6),D4 
  160.     MOVE.L    24(A6),D3 
  161.     MOVE.L    28(A6),D2 
  162.     MOVE.L    32(A6),D1 
  163.     MOVE.L    36(A6),D0 
  164.     MOVE.L    _SoundScapeBase,A6 
  165.     JSR    _LVOaddport(A6) 
  166.     MOVEM.L    (SP)+,D1-D7/A6 
  167.     UNLK    A6 
  168.     RTS 
  169.  
  170. _OpenMidiPort 
  171.     LINK    A6,#0000 
  172.     MOVE.L    8(A6),D0 
  173.     MOVE.L    A6,-(SP) 
  174.     MOVE.L    D1,-(SP) 
  175.     MOVE.L    12(A6),D1 
  176.     MOVE.L    _SoundScapeBase,A6 
  177.     JSR    _LVOopenport(A6) 
  178.     MOVE.L    (SP)+,D1 
  179.     MOVE.L    (SP)+,A6 
  180.     UNLK    A6 
  181.     RTS 
  182.  
  183. _CloseMidiPort 
  184.     LINK    A6,#0000 
  185.     MOVE.L    8(A6),D0 
  186.     MOVE.L    A6,-(SP) 
  187.     MOVE.L    D1,-(SP) 
  188.     MOVE.L    12(A6),D1 
  189.     MOVE.L    _SoundScapeBase,A6 
  190.     JSR    _LVOcloseport(A6) 
  191.     MOVE.L    (SP)+,D1 
  192.     MOVE.L    (SP)+,A6 
  193.     UNLK    A6 
  194.     RTS 
  195.  
  196. _EditMidiPort 
  197.     LINK    A6,#0000 
  198.     MOVE.L    8(A6),D0 
  199.     MOVEM.L    D1-D3/A6,-(SP) 
  200.     MOVE.L    12(A6),D1 
  201.     MOVE.L    16(A6),D2 
  202.     MOVE.L    20(A6),D3 
  203.     MOVE.L    _SoundScapeBase,A6 
  204.     JSR    _LVOeditport(A6) 
  205.     MOVEM.L    (SP)+,D1-D3/A6 
  206.     UNLK    A6 
  207.     RTS 
  208.  
  209. _OutMidiPort 
  210.     LINK    A6,#0000 
  211.     MOVE.L    8(A6),D0 
  212.     MOVE.L    A6,-(SP) 
  213.     MOVE.L    D1,-(SP) 
  214.     MOVE.L    12(A6),D1 
  215.     MOVE.L    _SoundScapeBase,A6 
  216.     JSR    _LVOoutport(A6) 
  217.     MOVE.L    (SP)+,D1 
  218.     MOVE.L    (SP)+,A6 
  219.     UNLK    A6 
  220.     RTS 
  221.  
  222. _Send 
  223.     LINK    A6,#0000 
  224.     MOVE.L    8(A6),D0 
  225.     MOVE.L    A6,-(SP) 
  226.     MOVE.L    D1,-(SP) 
  227.     MOVE.L    12(A6),D1 
  228.     MOVE.L    _SoundScapeBase,A6 
  229.     JSR    _LVOsendpackets(A6) 
  230.     MOVE.L    (SP)+,D1 
  231.     MOVE.L    (SP)+,A6 
  232.     UNLK    A6 
  233.     RTS 
  234.  
  235. _OpenLink 
  236.     LINK    A6,#0000 
  237.     MOVE.L    8(A6),D0 
  238.     MOVE.L    A6,-(SP) 
  239.     MOVE.L    D1,-(SP) 
  240.     MOVE.L    12(A6),D1 
  241.     MOVE.L    _SoundScapeBase,A6 
  242.     JSR    _LVOopenlink(A6) 
  243.     MOVE.L    (SP)+,D1 
  244.     MOVE.L    (SP)+,A6 
  245.     UNLK    A6 
  246.     RTS 
  247.  
  248. _CloseLink 
  249.     LINK    A6,#0000 
  250.     MOVE.L    8(A6),D0 
  251.     MOVE.L    A6,-(SP) 
  252.     MOVE.L    D1,-(SP) 
  253.     MOVE.L    12(A6),D1 
  254.     MOVE.L    _SoundScapeBase,A6 
  255.     JSR    _LVOcloselink(A6) 
  256.     MOVE.L    (SP)+,D1 
  257.     MOVE.L    (SP)+,A6 
  258.     UNLK    A6 
  259.     RTS 
  260.  
  261. _GetHelp 
  262.     LINK    A6,#0000 
  263.     MOVE.L    8(A6),D0 
  264.     MOVE.L    A6,-(SP) 
  265.     MOVE.L    _SoundScapeBase,A6 
  266.     JSR    _LVOgethelp(A6) 
  267.     MOVE.L    (SP)+,A6 
  268.     UNLK    A6 
  269.     RTS 
  270.  
  271. _FindMidiPort 
  272.     LINK    A6,#0000 
  273.     MOVE.L    8(A6),D0 
  274.     MOVE.L    A6,-(SP) 
  275.     MOVE.L    _SoundScapeBase,A6 
  276.     JSR    _LVOfindport(A6) 
  277.     MOVE.L    (SP)+,A6 
  278.     UNLK    A6 
  279.     RTS 
  280.      
  281. _MidiPortName 
  282.     LINK    A6,#0000 
  283.     MOVE.L    8(A6),D0 
  284.     MOVE.L    A6,-(SP) 
  285.     MOVE.L    _SoundScapeBase,A6 
  286.     JSR    _LVOportname(A6) 
  287.     MOVE.L    (SP)+,A6 
  288.     UNLK    A6 
  289.     RTS 
  290.  
  291. _RemoveMidiPort 
  292.     LINK    A6,#0000 
  293.     MOVE.L    8(A6),D0 
  294.     MOVE.L    A6,-(SP) 
  295.     MOVE.L    _SoundScapeBase,A6 
  296.     JSR    _LVOremoveport(A6) 
  297.     MOVE.L    (SP)+,A6 
  298.     UNLK    A6 
  299.     RTS 
  300.  
  301. _FunctionCall 
  302.     LINK    A6,#0000 
  303.     MOVEM.L    D1-D7/A6,-(SP) 
  304.     MOVE.L    8(A6),D0 
  305.     MOVE.L    12(A6),D1 
  306.     MOVE.L    16(A6),D2 
  307.     MOVE.L    20(A6),D3 
  308.     MOVE.L    24(A6),D4 
  309.     MOVE.L    28(A6),D5 
  310.     MOVE.L    32(A6),D6 
  311.     MOVE.L    36(A6),D7 
  312.     MOVE.L    _SoundScapeBase,A6 
  313.     JSR    _LVOfunctcall(A6) 
  314.     MOVEM.L    (SP)+,D1-D7/A6 
  315.     UNLK    A6 
  316.     RTS 
  317.  
  318. _ReadFileName 
  319.     LINK    A6,#0000 
  320.     MOVEM.L    D1-D2/A6,-(SP) 
  321.     MOVE.L    8(A6),D0 
  322.     MOVE.L    12(A6),D1 
  323.     MOVE.L    16(A6),D2 
  324.     MOVE.L    _SoundScapeBase,A6 
  325.     JSR    _LVOreadname(A6) 
  326.     MOVEM.L    (SP)+,D1-D2/A6 
  327.     UNLK    A6 
  328.     RTS 
  329.  
  330. _WriteFileName 
  331.     LINK    A6,#0000 
  332.     MOVEM.L    D1-D2/A6,-(SP) 
  333.     MOVE.L    8(A6),D0 
  334.     MOVE.L    12(A6),D1 
  335.     MOVE.L    16(A6),D2 
  336.     MOVE.L    _SoundScapeBase,A6 
  337.     JSR    _LVOwritename(A6) 
  338.     MOVEM.L    (SP)+,D1-D2/A6 
  339.     UNLK    A6 
  340.     RTS 
  341.  
  342.  
  343.     END 
  344.